ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr renders the character that _i_n_C_o_d_e is mapped to.
GLC finds a font that maps _i_n_C_o_d_e to a character such as LATIN CAPITAL
LETTER A, then uses one or more glyphs from the font to create a
graphical layout that represents the character. Finally, GLC issues a
sequence of GL commands to draw the layout. Glyph coordinates are defined
in em units and are transformed during rendering to produce the desired
mapping of the glyph shape into the GL window coordinate system.
Except where otherwise specified, every character code used in GLC is an
element of the Universal Multiple-Octet Coded Character Set (UCS) defined
by the standards ISO/IEC 10646-1:1993 and Unicode 2.0. A UCS code is
denoted as U+hexcode, where hexcode is a sequence of hexadecimal digits.
Each UCS code corresponds to a character that has a unique name string.
For example, the code U+41 corresponds to the character LATIN CAPITAL
LETTER A.
If ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr cannot find a font in the list GGGGLLLLCCCC____CCCCUUUURRRRRRRREEEENNNNTTTT____FFFFOOOONNNNTTTT____LLLLIIIISSSSTTTT
that maps _i_n_C_o_d_e, it attempts to produce an alternate rendering. If the
value of the boolean variable GGGGLLLLCCCC____AAAAUUUUTTTTOOOO____FFFFOOOONNNNTTTT is GGGGLLLL____TTTTRRRRUUUUEEEE, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr
finds a font that has the character that maps iiiinnnnCCCCooooddddeeee, giving preference
to Courier and Helvetica. If the search succeeds, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr appends
the font's ID to GGGGLLLLCCCC____CCCCUUUURRRRRRRREEEENNNNTTTT____FFFFOOOONNNNTTTT____LLLLIIIISSSSTTTT and renders the character.
If there are fonts in the list GGGGLLLLCCCC____CCCCUUUURRRRRRRREEEENNNNTTTT____FFFFOOOONNNNTTTT____LLLLIIIISSSSTTTT, but a match for
_i_n_C_o_d_e cannot be found in any of those fonts, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr goes through
these steps:
1. If the value of the variable GGGGLLLLCCCC____RRRREEEEPPPPLLLLAAAACCCCEEEEMMMMEEEENNNNTTTT____CCCCOOOODDDDEEEE is nonzero,
ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr finds a font that maps the replacement code, and
renders the character that the replacement code is mapped to.
2. If the variable GGGGLLLLCCCC____RRRREEEEPPPPLLLLAAAACCCCEEEEMMMMEEEENNNNTTTT____CCCCOOOODDDDEEEE is zero, or if the replacement
code does not result in a match, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr checks whether a
callback function is defined. If a callback function is defined for
GGGGLLLLCCCC____OOOOPPPP____ggggllllccccUUUUnnnnmmmmaaaappppppppeeeeddddCCCCooooddddeeee, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr calls the function. The
callback function provides _i_n_C_o_d_e to the user and allows loading of
the appropriate font. After the callback returns, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr